package process

import (
	"os"
	"os/exec"
)

func Run(name string, args ...string) {
	cmd := exec.Command(name, args...)
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr

	err := cmd.Run()
	if err != nil {
		panic(err)
	}
}

// ctx := context.Background()
// ctx, cancel := context.WithCancel(ctx)
// ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
// defer cancel()

// cmd := exec.CommandContext(ctx, "sleep", "10")
// cmd := exec.Command("ls", "-l")
// cmd.Dir = "/path" # 工作目录
// cmd.Env = []string{"FOO=bar", "BAZ=qux"} # 环境变量
// cmd.Stdin = os.Stdin
// cmd.Stdout = os.Stdout
// cmd.Stderr = os.Stderr
//
// err := cmd.Run()
// err := cmd.Start()
//
// output, err := cmd.CombinedOutput() # 标准输出和标准错误的合并结果
//
// err = cmd.Process.Signal(os.Interrupt)
//
// state := cmd.ProcessState
